home *** CD-ROM | disk | FTP | other *** search
- #include "list.h"
-
- SORTEDLIST_::SORTEDLIST_(int dstr)
- : LIST_(dstr)
- {
- }
-
-
- void SORTEDLIST_::insert(SVOBJECT_ &obj)
- {
- LIST_NODE_
- *cur;
-
- if (!head || obj.eval(*(SVOBJECT_ *)head->getdata()) < 0)
- addtohead(obj);
-
- else
- {
- for (cur = head->getnext(); cur; cur = cur->getnext())
- if (obj.eval(*(SVOBJECT_ *)cur->getdata()) <= 0)
- {
- cur->setprev(new LIST_NODE_(obj, cur, cur->getprev()));
- cur->getprev()->getprev()->setnext(cur->getprev());
- nodecount++;
- break;
- }
- if (!cur)
- addtotail(obj);
- }
- }
-